Dynomotion

Group: DynoMotion Message: 14022 From: collimero Date: 11/10/2016
Subject: Snapamp with 3-phase AC servo motor

Hello Tom,

I'm trying to get a 3-phase brushless servo running with SnapAmp but somehow I'm getting nowhere. It is a panasonic 3-phase AC servo with encoder (10000 pulses/rev). The encoder works just fine as I can see in the KMotion axis screen. My first question is: can I use the Snapamp in combination with an AC servo? I just discovered that there are also 3-phase DC brushless motors.


Second question: when I start up the kflop+snapamp, the snapamp has one led blinking and one on, indicating a fault condition. This is even the case with no servo connected at all. As soon as I run the C-program limiting the currents, the fault indication mysteriously disappears. Is this normal? How can I find out what the fault condition is?


Best regards, 

Jeroen 

Group: DynoMotion Message: 14023 From: Tom Kerekes Date: 11/10/2016
Subject: Re: Snapamp with 3-phase AC servo motor

Hi Jeroen,

3-phase brushless motors require proper commutation, phase finding, and servo tuning to work properly so you will need to work through those step by step.  The AutoPhaseFind.c program should rotate the motor and generate a report on motor/encoder commutation parameters if the motor/encoder is wired and configured properly.

Usually the term AC Servo Motor means the same thing as DC Brushless Servos.  However there are some different motor types such as AC Induction Motors that are completely different.  You would need to research the specification.

That is normal behavior.  Until Peak Current Limits have been set by the C Program SnapAmp will remain in a disabled fault mode.  If SnapAmp is not over temperature then you can assume any fault is do to Peak Current Limits.

HTH

Regards

TK


On 11/10/2016 5:19 AM, vleggaar@... [DynoMotion] wrote:
 

Hello Tom,

I'm trying to get a 3-phase brushless servo running with SnapAmp but somehow I'm getting nowhere. It is a panasonic 3-phase AC servo with encoder (10000 pulses/rev). The encoder works just fine as I can see in the KMotion axis screen. My first question is: can I use the Snapamp in combination with an AC servo? I just discovered that there are also 3-phase DC brushless motors.


Second question: when I start up the kflop+snapamp, the snapamp has one led blinking and one on, indicating a fault condition. This is even the case with no servo connected at all. As soon as I run the C-program limiting the currents, the fault indication mysteriously disappears. Is this normal? How can I find out what the fault condition is?


Best regards, 

Jeroen 


Group: DynoMotion Message: 14033 From: collimero Date: 11/13/2016
Subject: Re: Snapamp with 3-phase AC servo motor
Hello Tom,
Thanks for the explanation. I tried a lot to get the servo's going. Only when I used very slow movements the motor reacts -sort of- correctly. However, even then it makes unexpected irradical movements. What happens all the time is that the servo locks up in a completely wrong position and quickly becomes very hot with PWM going to 87%. Weird thing is that this also happens when the Axis mode input is set to "no input", so it is not just some encoder - motor mismatch.
  
I think the main problem when using the encoders is the low inertia of the motors (no load) combined with the rated amps of the servo's: the servo's are rated 1.6A whereas the minimum current limit of SnapAmp is 2A. Tuning procedures in the documents do not work at all, so I guess the motors I have are unsuited for use in combination with Snapamp.

As I stated before I still think that the snapamp documentation could (and should) be improved quite a lot, since it is rather incomplete. For example, it took me some time to find out which input channel to set in Kmotion for the Snapamp encoder inputs. I think users would be greatly helped if more connection examples and wiring schemes would be available in the documentation, together with the settings (and cards) that are required in each case. There are some examples on how to connect for example a resolver but the example is not for the SnapAmp. I think one would need an additional kanalog card to do this since neither the Snapamp nor the Kflop have analog inputs to read out the resolver values.

Best regards, 
Jeroen     
Group: DynoMotion Message: 14044 From: Tom Kerekes Date: 11/13/2016
Subject: Re: Snapamp with 3-phase AC servo motor

Hi Jeroen,

I don't see a reason the motor shouldn't work well with SnapAmp.  If you have one setting wrong then the motor will not operate correctly and act as you describe.  

You can limit the Servo Max Output (PWM) so you don't damage the motor.

We can probably help you to get it to work.  The first step would be to configure and run the AutoPhaseFind.c and examine the report to determine some motor parameters.

Regards

TK



On 11/13/2016 2:42 AM, vleggaar@... [DynoMotion] wrote:
 

Hello Tom,

Thanks for the explanation. I tried a lot to get the servo's going. Only when I used very slow movements the motor reacts -sort of- correctly. However, even then it makes unexpected irradical movements. What happens all the time is that the servo locks up in a completely wrong position and quickly becomes very hot with PWM going to 87%. Weird thing is that this also happens when the Axis mode input is set to "no input", so it is not just some encoder - motor mismatch.
  
I think the main problem when using the encoders is the low inertia of the motors (no load) combined with the rated amps of the servo's: the servo's are rated 1.6A whereas the minimum current limit of SnapAmp is 2A. Tuning procedures in the documents do not work at all, so I guess the motors I have are unsuited for use in combination with Snapamp.

As I stated before I still think that the snapamp documentation could (and should) be improved quite a lot, since it is rather incomplete. For example, it took me some time to find out which input channel to set in Kmotion for the Snapamp encoder inputs. I think users would be greatly helped if more connection examples and wiring schemes would be available in the documentation, together with the settings (and cards) that are required in each case. There are some examples on how to connect for example a resolver but the example is not for the SnapAmp. I think one would need an additional kanalog card to do this since neither the Snapamp nor the Kflop have analog inputs to read out the resolver values.

Best regards, 
Jeroen     

Group: DynoMotion Message: 14056 From: collimero Date: 11/14/2016
Subject: Re: Snapamp with 3-phase AC servo motor
Hi Tom,
Below are the settings I use to run the autophasefind.c

#define PWM_CHAN 8
#define ENCODER_CHAN 8
#define ENCODER_GAIN 1
#define AMPLITUDE 10  
#define Z_BIT_NUMBER 66
#define CLAMP_VOLTAGE 80  
#define AXIS_CHAN 0      
#define Ncycles 4

Below the report I get back:

REPORT
------
0 Position = -10000 PhaseAngle = 4.571000
1 Position = -20000 PhaseAngle = 8.571000
2 Position =  10000 PhaseAngle = -3.571000
3 Position =  40001 PhaseAngle = -15.571000
Counts per rev = -10000
Counts per cycle =  -2500
Counts per cycle (rounded)=  -2500
invDistPerCycle (rounded)= -0.000400000000
Commutation offset =   -625
Input Gain Specified =  1.000
The counts/rev and counts/cycle are corresponding to the motor data (Panasonic mode MSM022A2UE, rated freq:200Hz, rated speed: 3000rmp)
I'm not sure what to do with the rest of the data in the report. The only input field I can find in the axis configuration is invDistPerCycle, which I can change into the value above and then download to the kflop. So, using the data above, how can I get to the right PID values -for example- in the step reponse screen?
 I've tried numerous values but cannot get it to work correctly. Many times the motor only takes a fraction of the steps, other times the motor goes into oscillation.
I think that I can use the IIR filter page to set filters, although I'm not sure where the values go when I click the "download" button in that screen. Also I'm not sure these filter values are used if I use the step reponse screen to test the reaction of the servo system.
Maybe you could explain what to do exactly with the data that autophasefind report contains.
Best regards, 
Jeroen 
 
Group: DynoMotion Message: 14057 From: collimero Date: 11/14/2016
Subject: Re: Snapamp with 3-phase AC servo motor
Hi Tom,
In addition to my last post: I just noticed that when I decrease the (max limits) output in the step reponse screen to approx 30, much of the irradic behaviour disappears. Only now I was able to measure the first graph in the step response plot that actually made any sense. I used PID settings with P=0.5  I=0 and D=10 to 20. So, it looks to me that the servo needs very low PWM modulation and quite a lot of damping,  
best regards, Jeroen
Group: DynoMotion Message: 14063 From: TKSOFT Date: 11/14/2016
Subject: Re: Snapamp with 3-phase AC servo motor
Hi Jeroen,

The AutoPhaseFind.c program isn't working correctly. See the Article on
it here:
http://www.dynomotion.com/wiki/index.php?title=SnapAmp_Info

Please make sure that is working properly before even attempting to
servo or move.

You will next need a method of phase finding.

The "Download" button downloads parameters from the KMotion Screens to
KFLOP. You might watch this Video (note Adobe Flash is required):
http://dynomotion.com/Help/FlashHelp/Parameters/index.html

Regards
T







On 2016-11-14 02:26, vleggaar@... [DynoMotion] wrote:
> Hi Tom,
> Below are the settings I use to run the autophasefind.c
>
> #define PWM_CHAN 8
> #define ENCODER_CHAN 8
> #define ENCODER_GAIN 1
> #define AMPLITUDE 10
> #define Z_BIT_NUMBER 66
> #define CLAMP_VOLTAGE 80
> #define AXIS_CHAN 0
> #define Ncycles 4
>
> Below the report I get back:
>
> REPORT
> ------
> 0 Position = -10000 PhaseAngle = 4.571000
> 1 Position = -20000 PhaseAngle = 8.571000
> 2 Position = 10000 PhaseAngle = -3.571000
> 3 Position = 40001 PhaseAngle = -15.571000
> Counts per rev = -10000
> Counts per cycle = -2500
> Counts per cycle (rounded)= -2500
> invDistPerCycle (rounded)= -0.000400000000
> Commutation offset = -625
> Input Gain Specified = 1.000
>
>> The counts/rev and counts/cycle are corresponding to the motor data
>> (Panasonic mode MSM022A2UE, rated freq:200Hz, rated speed: 3000rmp)
>
>> I'm not sure what to do with the rest of the data in the report. The
>> only input field I can find in the axis configuration is
>> invDistPerCycle, which I can change into the value above and then
>> download to the kflop. So, using the data above, how can I get to
>> the right PID values -for example- in the step reponse screen?
>
>> I've tried numerous values but cannot get it to work correctly.
>> Many times the motor only takes a fraction of the steps, other times
>> the motor goes into oscillation.
>
>> I think that I can use the IIR filter page to set filters, although
>> I'm not sure where the values go when I click the "download" button
>> in that screen. Also I'm not sure these filter values are used if I
>> use the step reponse screen to test the reaction of the servo
>> system.
>
>> Maybe you could explain what to do exactly with the data that
>> autophasefind report contains.
>
>> Best regards,
>
>> Jeroen
>
>>
>
>